package com.peaker.advertisingpro.bean

import android.os.Parcelable
import kotlinx.android.parcel.Parcelize

@Parcelize
data class ProgramBean(
    var duration: Int?,
    var height: Int?,
    var id: String?,
    var name: String?,
    var resolution_id: String?,
    var resources: List<Resource>?,
    var scenes: List<Scene>?,
    var scenesCount: Int?,
    var thumbnailSrc: String?,
    var treeId: String?,
    var type: Int?,
    var width: Int?
) : Parcelable

@Parcelize
data class Resource(
    var duration: Int?,
    var effectval: Int?,
    var name: String?,
    var resId: String?,
    var size: String?,
    var type: String?,
    var url: String?,
    var urlTitle: String?
) : Parcelable

@Parcelize
data class Scene(
    var active: Boolean?,
    var css: Css?,
    var duration: Int?,
    var elements: List<Element>?,
    var height: Int?,
    var id: String?,
    var index: Int?,
    var name: String?,
    var thumbnailSrc: String?,
    var width: Int?
) : Parcelable

@Parcelize
data class Css(
    var backgroundColor: String?,
    var backgroundImage: String?,
    var backgroundMusic: List<BackgroundMusic>?,
    var borderColor: String?,
    var borderRadius: Int?,
    var borderStyle: String?,
    var borderWidth: Int?,
    var effectval: Int?,
    var height: Int?,
    var name: String?,
    var opacity: Int?,
    var size: String?,
    var type: String?,
    var width: Int?,
    var x: Int?,
    var y: Int?,
    var zIndex: Int?
) : Parcelable

@Parcelize
data class Element(
    var Interaction: Interaction?,
    var css: CssX?,
    var icon: String?,
    var id: String?,
    var isLock: Boolean?,
    var name: String?,
    var `property`: Property?,
    var type: Int?
) : Parcelable

@Parcelize
data class BackgroundMusic(
    var duration: Int?,
    var effectval: Int?,
    var name: String?,
    var resId: String?,
    var size: String?,
    var type: String?,
    var url: String?,
    var urlTitle: String?
) : Parcelable

@Parcelize
data class Interaction(
    var linkApk: String?,
    var linkDynamic: LinkDynamic?,
    var linkSeceneId: String?,
    var linkUrl: LinkUrl?,
    var type: Int?
) : Parcelable

@Parcelize
data class CssX(
    var height: Int?,
    var left: Int?,
    var opacity: Int?,
    var rotate: Int?,
    var top: Int?,
    var width: Int?,
    var x: Int?,
    var y: Int?,
    var zIndex: Int?
) : Parcelable

@Parcelize
data class Property(
    var align: String?,
    var backgroundColor: String?,
    var borderRadius: Int?,
    var cityCode: String?,
    var cityName: String?,
    var color: String?,
    var content: String?,
    var country: String?,
    var duration: Int?,
    var fontFamily: String?,
    var fontSize: Int?,
    var fontStyle: String?,
    var fontWeight: String?,
    var format: String?,
    var lineHeight: String?,
    var mod: String?,
    var name: String?,
    var provinceName: String?,
    var refreshTime: Int?,
    var res: List<Re>?,
    var resConfigs: ResConfigs?,
    var speed: Int?,
    var tempType: Int?,
    var textAlign: String?,
    var textDecoration: String?,
    var timeZone: String?,
    var transparent: Boolean?,
    var url: String?,
    var urlList: List<String>?
) : Parcelable

@Parcelize
data class LinkDynamic(
    var elementId: String?,
    var resId: String?
) : Parcelable

@Parcelize
data class LinkUrl(
    var level: String?,
    var size: Int?,
    var url: String?,
    var vertical: String?
):Parcelable

@Parcelize
data class Re(
    var duration: Int?,
    var effectval: Int?,
    var name: String?,
    var resId: String?,
    var size: String?,
    var type: String?,
    var url: String?,
    var urlTitle: String?
) : Parcelable

@Parcelize
data class ResConfigs(
    var duration: Int?,
    var effectval: Int?,
    var global: Boolean?
) : Parcelable